﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;

namespace PloobsEngine.SceneControl
{
    public interface IRenderHelper
    {        
        Texture2D this[String scene]
        {
            get;
            set;
        }

        void SetUpRenderTarget(RenderTarget2D target);
        void SetUpRenderTarget(RenderTarget2D source, RenderTarget2D target);
        void SetUpRenderTarget(RenderTarget2D source, RenderTarget2D target,ClearOptions opts, Color color, float z,int stencil);        
        Texture2D GetResultsRenderTarget();       


        void RenderTextureToFullScreenVertexPixel(Effect effect);        
        void RenderTextureToFullScreenSpriteBatch(Texture2D scene, Effect effect);
        void RenderTextureToFullScreenSpriteBatch(String scene,Effect effect);        
        void RenderTextureToFullScreenSpriteBatch(String texture, Effect effect , Rectangle rectangle);        
        
        void RenderSceneWithoutMaterial(IWorld world, Matrix view, Matrix projection);
        void RenderSceneWithoutMaterial(IWorld world,  List<IObject> objListException, Matrix view, Matrix projection);
        void RenderSceneWithoutMaterial(IWorld world, List<IObject> objListException, Matrix view, Matrix projection,bool drawComponentsPreDraw);
       
    }

}
